home *** CD-ROM | disk | FTP | other *** search
/ Ian & Stuart's Australian Mac 1993 September / clonecd / September 93.img / Archives / Utilities / Analyse & Test / Test Utilities / Init Utilities / INITLoader1.0a7 / INITLoader1.0a5 Doc.text next >
Text File  |  1991-05-18  |  5KB  |  70 lines

  1. INITLoader
  2. By Ian Hendry
  3.  
  4. What INITLoader does
  5. INITLoader has two main functions:
  6. 1)  INITLoader makes aliases to extensions (also called “startup documents” or “INIT    s”), cdevs
  7. and rdevs work as expected.  System 7.0 does not (at this time) support running aliases to
  8. these items (the “Magic System Folder” does not even route them to the correct folders).
  9. 2)  INITLoader lets you choose additional folders from which to load extensions.
  10. Why INITLoader does
  11. Aliases to extensions and folders give you all the advantages of aliases.  One of the coolest
  12. things is auto-mounting.  This means you can specify a folder on a floppy and the system will
  13. ask you to mount the floppy when it resolves the alias.  The same is true of network volumes.
  14. If you have (your extensions folder) an alias to an extension on an AppleShare® or
  15. FileShare™ volume, then at startup time you will get a password dialog (unless you created
  16. the alias as a guest) and that server will be automatically mounted and the extension will run.
  17. INITLoader can also automatically unmount any volumes that it mounts.  This cleans up so
  18. you do not have a whole lot of extra volumes around when you get to the Finder    .
  19. For those of you saying “neat hack, so what?”  Here are examples.  Suppose you are a network
  20. administrator and you always want your team to have the latest version of some extension.  It
  21. is a headache for you to always have to find all the people and convince them to upgrade
  22. (particularly if they all have to do it at once).  W    ith INITLoader there are two solutions:  you
  23. can distribute an alias to the extension on a server or you can distribute a copy of INITLoader
  24. with an alias to a folder on your server in it.  The second solution allows you to add whatever
  25. extensions you want onto you team.
  26. For another example, suppose you are developing an extension and you want to test it on
  27. various machines.  INITLoader allows you to load your extension from the network with out
  28. having to install on all those machines.
  29. Notes
  30.  
  31. INITLoader will not load multiple copies of extensions.  INITLoader will not load any
  32. extension from a file with the same type/creator as one it has already seen.  If you have
  33. several copies of “Programmer    ’s key” for example, only the first one will load.
  34. INITLoader first examines the normal places in the System Folder from which extensions are
  35. loaded.  After all aliases to extensions have been resolved and run, then INITLoader looks
  36. though folders that you selected.  This means that extensions found in the System Folder take
  37. precedence (because INITLoader will load the each extension only once) over those in folders
  38. you select.
  39. INITLoader can run other copies of itself.  If one INITLoader loads a second INITLoader then
  40. the second INITLoader will run and will load any extensions not loaded by the first one (    ie
  41. those in folders specified to be loaded in the second INITLoader). When the second copy is
  42. done, the first INITLoader will regain control and continue loading other extensions.  This
  43. only works if the second INITLoader is loaded by the INITLoader (that is, NOT by the normal
  44. extension loading done by the System).
  45. If you have an alias to an extension, you cannot stop it from loading by moving the extension
  46. itself (the alias will find it anyway).
  47. T    esting
  48. Use INITLoader at you own risk.  I have run INITLoader on everything from a Macintosh™
  49. Plus to a Macintosh IIfx with 20 Meg real RAM.  It works with VM (I tried it a little) and in 32-
  50. Bit mode.  I did not run it on a huge variety of extensions.  Most extensions tended to fall into
  51. two categories:  worked fine and didn’t work with 7.0 at all.
  52. Cautions and Things that go bump in the hard disk
  53. There are some extensions that do not like being moved around.  I hope with System 7.0
  54. developers begin to remove location dependence from their code.  I figure the Soviets have
  55. abandoned socialism, Germany has reunited, why not go for broke and hope for good code
  56. from extensions?
  57. INITLoader depends heavily on System 7.0 features and will not work under System 6.0.x.
  58. Some extensions have support files.  These extensions should support alias files via
  59. “ResolveAliasFile” for their data files.  Until they do, you will have to have copies of their
  60. data files on the various machines.  I wrote an extension to support alias files transparently
  61. and there were some problems with doing that solution so now we have ResolveFinderAlias.
  62. ResolveFinderAlias’ predecessor appeared on the first System 7.0 Developer's CD and was
  63. later added to the System as a new toolbox call.  Read about it in the Finder Interface chapter of
  64. Inside Macintosh V    olume VI, use it in all your code that does not use Standard File.
  65. Make sure AppleShare loads before INITLoader (which normally happens due to their
  66. names).  Otherwise aliases to items on network volumes may not load correctly    .
  67. Some extensions try to re-open themselves later    .  Several extensions actually try to open
  68. themselves by name in the System Folder    .  Looking for yourself if kind of dangerous and just
  69. looking in the System Folder doesn’t work with System 7.0 at all (much less INITLoader).  If
  70. you really need to find your file again, create an alias to it under 7.0 and keep that around.